<HTML><HEAD><META CONTENT="text/html; charset=UTF-8" HTTP-EQUIV="Content-Type"/><TITLE>EMMA Coverage Report</TITLE><STYLE TYPE="text/css"> TABLE,TD,TH {border-style:solid; border-color:black;} TD,TH {background:white;margin:0;line-height:100%;padding-left:0.5em;padding-right:0.5em;} TD {border-width:0 1px 0 0;} TH {border-width:1px 1px 1px 0;} TR TD.h {color:red;} TABLE {border-spacing:0; border-collapse:collapse;border-width:0 0 1px 1px;} P,H1,H2,H3,TH {font-family:verdana,arial,sans-serif;font-size:10pt;} TD {font-family:courier,monospace;font-size:10pt;} TABLE.hdft {border-spacing:0;border-collapse:collapse;border-style:none;} TABLE.hdft TH,TABLE.hdft TD {border-style:none;line-height:normal;} TABLE.hdft TH.tl,TABLE.hdft TD.tl {background:#6699CC;color:white;} TABLE.hdft TD.nv {background:#6633DD;color:white;} .nv A:link {color:white;} .nv A:visited {color:white;} .nv A:active {color:yellow;} TABLE.hdft A:link {color:white;} TABLE.hdft A:visited {color:white;} TABLE.hdft A:active {color:yellow;} .in {color:#356085;} TABLE.s TD {padding-left:0.25em;padding-right:0.25em;} TABLE.s TD.l {padding-left:0.25em;padding-right:0.25em;text-align:right;background:#F0F0F0;} TABLE.s TR.z TD {background:#FF9999;} TABLE.s TR.p TD {background:#FFFF88;} TABLE.s TR.c TD {background:#CCFFCC;} A:link {color:#0000EE;text-decoration:none;} A:visited {color:#0000EE;text-decoration:none;} A:hover {color:#0000EE;text-decoration:underline;} TABLE.cn {border-width:0 0 1px 0;} TABLE.s {border-width:1px 0 1px 1px;} TD.h {color:red;border-width:0 1px 0 0;} TD.f {border-width:0 1px 0 1px;} TD.hf {color:red;border-width:0 1px 0 1px;} TH.f {border-width:1px 1px 1px 1px;} TR.cis TD {background:#F0F0F0;} TR.cis TD {border-width:1px 1px 1px 0;} TR.cis TD.h {color:red;border-width:1px 1px 1px 0;} TR.cis TD.f {border-width:1px 1px 1px 1px;} TR.cis TD.hf {color:red;border-width:1px 1px 1px 1px;} TD.b {border-style:none;background:transparent;line-height:50%;}  TD.bt {border-width:1px 0 0 0;background:transparent;line-height:50%;} TR.o TD {background:#F0F0F0;}TABLE.it {border-style:none;}TABLE.it TD,TABLE.it TH {border-style:none;}</STYLE></HEAD><BODY><TABLE CLASS="hdft" CELLSPACING="0" WIDTH="100%"><TR><TH CLASS="tl"><A HREF="http://www.eclemma.org/">EMMA</A> Coverage Report (generated Fri May 20 23:44:31 PDT 2011)</TH></TR><TR><TD CLASS="nv">[<A HREF="../FeatureReleaseEmmaReport.html">all classes</A>][<A HREF="6.html">jvm.jtacck.test.db</A>]</TD></TR></TABLE><H2>COVERAGE SUMMARY FOR SOURCE FILE [<SPAN CLASS="in">PostgresHandlerTest.java</SPAN>]</H2><TABLE CELLSPACING="0" WIDTH="100%"><TR><TH>name</TH><TH>class, %</TH><TH>method, %</TH><TH>block, %</TH><TH>line, %</TH></TR><TR><TD>PostgresHandlerTest.java</TD><TD>100% (1/1)</TD><TD>100% (29/29)</TD><TD CLASS="h">76%  (1571/2059)</TD><TD CLASS="h">70%  (285/405)</TD></TR></TABLE><H3>COVERAGE BREAKDOWN BY CLASS AND METHOD</H3><TABLE CLASS="cn" CELLSPACING="0" WIDTH="100%"><TR><TH CLASS="f">name</TH><TH>class, %</TH><TH>method, %</TH><TH>block, %</TH><TH>line, %</TH></TR><TR><TD CLASS="b"> </TD><TD CLASS="b"> </TD><TD CLASS="b"> </TD><TD CLASS="b"> </TD><TD CLASS="b"> </TD></TR><TR CLASS="cis"><TD CLASS="f">class <A HREF="#0">PostgresHandlerTest</A></TD><TD>100% (1/1)</TD><TD>100% (29/29)</TD><TD CLASS="h">76%  (1571/2059)</TD><TD CLASS="h">70%  (285/405)</TD></TR><TR><TD CLASS="f"><A HREF="#1">testAddRecord (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">7%   (16/216)</TD><TD CLASS="h">17%  (7/41)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#2">tearDown (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">30%  (3/10)</TD><TD CLASS="h">40%  (2/5)</TD></TR><TR><TD CLASS="f"><A HREF="#3">setUp (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">36%  (4/11)</TD><TD CLASS="h">40%  (2/5)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#4">testChangeRecord (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">40%  (128/318)</TD><TD CLASS="h">42%  (26/62)</TD></TR><TR><TD CLASS="f"><A HREF="#5">testOpenClose (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">53%  (16/30)</TD><TD CLASS="h">62%  (5/8)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#6">testGetCourierInformation (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">77%  (17/22)</TD><TD CLASS="h">57%  (4/7)</TD></TR><TR><TD CLASS="f"><A HREF="#7">testgetUserType (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD CLASS="h">77%  (17/22)</TD><TD CLASS="h">57%  (4/7)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#8">testFindUsersOf (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>86%  (94/109)</TD><TD CLASS="h">67%  (18/27)</TD></TR><TR><TD CLASS="f"><A HREF="#9">createHandler (): PostgresHandler</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>88%  (36/41)</TD><TD CLASS="h">73%  (8/11)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#a">testGetShippingInfoFor (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>88%  (38/43)</TD><TD CLASS="h">70%  (7/10)</TD></TR><TR><TD CLASS="f"><A HREF="#b">testSpecimensTo (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>89%  (40/45)</TD><TD CLASS="h">70%  (7/10)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#c">testSpecimensFrom (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>90%  (45/50)</TD><TD CLASS="h">70%  (7/10)</TD></TR><TR><TD CLASS="f"><A HREF="#d">testGetAllShippingInfo (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>94%  (76/81)</TD><TD>84%  (16/19)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#e">testGetNotArrived (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>94%  (76/81)</TD><TD>82%  (14/17)</TD></TR><TR><TD CLASS="f"><A HREF="#0">PostgresHandlerTest (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>95%  (37/39)</TD><TD>93%  (14/15)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#10">testGetCheckLists (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>96%  (70/73)</TD><TD>89%  (16/18)</TD></TR><TR><TD CLASS="f"><A HREF="#11">testGetByIDs (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>96%  (80/83)</TD><TD>87%  (13/15)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#12">testGetAlls (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>98%  (305/312)</TD><TD>90%  (27/30)</TD></TR><TR><TD CLASS="f"><A HREF="#13">makeClientSites (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (47/47)</TD><TD>100% (6/6)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#14">makeCouriers (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (53/53)</TD><TD>100% (5/5)</TD></TR><TR><TD CLASS="f"><A HREF="#15">makeHospitals (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (17/17)</TD><TD>100% (5/5)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#16">makeItems (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (49/49)</TD><TD>100% (7/7)</TD></TR><TR><TD CLASS="f"><A HREF="#17">makeShippingInfos (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (43/43)</TD><TD>100% (4/4)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#18">makeSpecimens (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (70/70)</TD><TD>100% (15/15)</TD></TR><TR><TD CLASS="f"><A HREF="#19">makeStatuses (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (25/25)</TD><TD>100% (7/7)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#1a">makeUserTypes (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (41/41)</TD><TD>100% (21/21)</TD></TR><TR><TD CLASS="f"><A HREF="#1b">makeUsers (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (92/92)</TD><TD>100% (8/8)</TD></TR><TR CLASS="o"><TD CLASS="f"><A HREF="#1c">testLogin (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (35/35)</TD><TD>100% (9/9)</TD></TR><TR><TD CLASS="f"><A HREF="#1d">testRemoveRecord (): void</A></TD><TD> </TD><TD>100% (1/1)</TD><TD>100% (1/1)</TD><TD>100% (1/1)</TD></TR></TABLE><P></P><TABLE CLASS="s" CELLSPACING="0" WIDTH="100%"><TR><TD CLASS="l">1</TD><TD>package jvm.jtacck.test.db;</TD></TR><TR><TD CLASS="l">2</TD><TD> </TD></TR><TR><TD CLASS="l">3</TD><TD>import static jvm.jtacck.Util.logger;</TD></TR><TR><TD CLASS="l">4</TD><TD>import static jvm.jtacck.Util.makeScriptRunner;</TD></TR><TR><TD CLASS="l">5</TD><TD>import static jvm.jtacck.Util.noNulls;</TD></TR><TR><TD CLASS="l">6</TD><TD> </TD></TR><TR><TD CLASS="l">7</TD><TD>import java.sql.SQLException;</TD></TR><TR><TD CLASS="l">8</TD><TD>import java.util.ArrayList;</TD></TR><TR><TD CLASS="l">9</TD><TD>import java.util.Arrays;</TD></TR><TR><TD CLASS="l">10</TD><TD>import java.util.LinkedList;</TD></TR><TR><TD CLASS="l">11</TD><TD>import java.util.List;</TD></TR><TR><TD CLASS="l">12</TD><TD>import java.util.logging.Level;</TD></TR><TR><TD CLASS="l">13</TD><TD> </TD></TR><TR><TD CLASS="l">14</TD><TD>import junit.framework.TestCase;</TD></TR><TR><TD CLASS="l">15</TD><TD>import jvm.jtacck.Util;</TD></TR><TR><TD CLASS="l">16</TD><TD>import jvm.jtacck.db.PostgresHandler;</TD></TR><TR><TD CLASS="l">17</TD><TD>import jvm.jtacck.db.records.*;</TD></TR><TR><TD CLASS="l">18</TD><TD> </TD></TR><TR><TD CLASS="l">19</TD><TD>/**</TD></TR><TR><TD CLASS="l">20</TD><TD> * This test module tests the public methods of the PostgresHandler. While the</TD></TR><TR><TD CLASS="l">21</TD><TD> * methods being called are only the public tests of the modules, the private</TD></TR><TR><TD CLASS="l">22</TD><TD> * methods are tested as every private method is in some way called by the</TD></TR><TR><TD CLASS="l">23</TD><TD> * public methods. The tests here check for inconsistencies within the database</TD></TR><TR><TD CLASS="l">24</TD><TD> * as well as unexpected return values. The database is setup and torn down</TD></TR><TR><TD CLASS="l">25</TD><TD> * after each test to allow for repeated tests to produce the same results.</TD></TR><TR><TD CLASS="l">26</TD><TD> * </TD></TR><TR><TD CLASS="l">27</TD><TD> * </TD></TR><TR><TD CLASS="l">28</TD><TD> *  //TODO: Create Tests for removeRecord(Record)</TD></TR><TR><TD CLASS="l">29</TD><TD> * </TD></TR><TR><TD CLASS="l">30</TD><TD> * @author Chris Gamble</TD></TR><TR><TD CLASS="l">31</TD><TD> * </TD></TR><TR><TD CLASS="l">32</TD><TD> */</TD></TR><TR><TD CLASS="l">33</TD><TD>public class PostgresHandlerTest extends TestCase {</TD></TR><TR><TD CLASS="l">34</TD><TD> </TD></TR><TR><TD CLASS="l">35</TD><TD>    public PostgresHandler db;</TD></TR><TR><TD CLASS="l">36</TD><TD> </TD></TR><TR><TD CLASS="l">37</TD><TD>    public Courier c1;</TD></TR><TR><TD CLASS="l">38</TD><TD>    public Courier c2;</TD></TR><TR><TD CLASS="l">39</TD><TD>    public Courier c3;</TD></TR><TR><TD CLASS="l">40</TD><TD> </TD></TR><TR><TD CLASS="l">41</TD><TD>    public ClientSite cs1;</TD></TR><TR><TD CLASS="l">42</TD><TD>    public ClientSite cs2;</TD></TR><TR><TD CLASS="l">43</TD><TD> </TD></TR><TR><TD CLASS="l">44</TD><TD>    public Hospital h1;</TD></TR><TR><TD CLASS="l">45</TD><TD>    public Hospital h2;</TD></TR><TR><TD CLASS="l">46</TD><TD> </TD></TR><TR><TD CLASS="l">47</TD><TD>    public Item i1;</TD></TR><TR><TD CLASS="l">48</TD><TD>    public Item i2;</TD></TR><TR><TD CLASS="l">49</TD><TD>    public Item i3;</TD></TR><TR><TD CLASS="l">50</TD><TD>    public Item i4;</TD></TR><TR><TD CLASS="l">51</TD><TD>    public Item i5;</TD></TR><TR><TD CLASS="l">52</TD><TD>    public Item i6;</TD></TR><TR><TD CLASS="l">53</TD><TD> </TD></TR><TR><TD CLASS="l">54</TD><TD>    public ShippingInformation si1;</TD></TR><TR><TD CLASS="l">55</TD><TD>    public ShippingInformation si2;</TD></TR><TR><TD CLASS="l">56</TD><TD>    public ShippingInformation si3;</TD></TR><TR><TD CLASS="l">57</TD><TD> </TD></TR><TR><TD CLASS="l">58</TD><TD>    public Specimen sp1;</TD></TR><TR><TD CLASS="l">59</TD><TD>    public Specimen sp2;</TD></TR><TR><TD CLASS="l">60</TD><TD>    public Specimen sp3;</TD></TR><TR><TD CLASS="l">61</TD><TD> </TD></TR><TR><TD CLASS="l">62</TD><TD>    public Status st1;</TD></TR><TR><TD CLASS="l">63</TD><TD>    public Status st2;</TD></TR><TR><TD CLASS="l">64</TD><TD>    public Status st3;</TD></TR><TR><TD CLASS="l">65</TD><TD> </TD></TR><TR><TD CLASS="l">66</TD><TD>    public User user1;</TD></TR><TR><TD CLASS="l">67</TD><TD>    public User user2;</TD></TR><TR><TD CLASS="l">68</TD><TD>    public User user3;</TD></TR><TR><TD CLASS="l">69</TD><TD>    public User user4;</TD></TR><TR><TD CLASS="l">70</TD><TD>    public User user5;</TD></TR><TR><TD CLASS="l">71</TD><TD>    public User user6;</TD></TR><TR><TD CLASS="l">72</TD><TD>    public User user7;</TD></TR><TR><TD CLASS="l">73</TD><TD> </TD></TR><TR><TD CLASS="l">74</TD><TD>    public UserType ut1;</TD></TR><TR><TD CLASS="l">75</TD><TD>    public UserType ut2;</TD></TR><TR><TD CLASS="l">76</TD><TD>    public UserType ut3;</TD></TR><TR><TD CLASS="l"><A NAME="0">77</A></TD><TD>    public UserType ut4;</TD></TR><TR><TD CLASS="l">78</TD><TD>    public UserType ut5;</TD></TR><TR><TD CLASS="l">79</TD><TD> </TD></TR><TR><TD CLASS="l">80</TD><TD>    public PostgresHandlerTest() {</TD></TR><TR CLASS="c"><TD CLASS="l">81</TD><TD>        super();</TD></TR><TR CLASS="c"><TD CLASS="l">82</TD><TD>        logger.setLevel(Level.ALL);</TD></TR><TR><TD CLASS="l">83</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">84</TD><TD>        db = createHandler();</TD></TR><TR CLASS="c"><TD CLASS="l">85</TD><TD>        if (!noNulls(db))</TD></TR><TR CLASS="z"><TD CLASS="l">86</TD><TD>            fail(&#34;Failure on creating db handler.&#34;);</TD></TR><TR><TD CLASS="l">87</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">88</TD><TD>        makeUserTypes();</TD></TR><TR CLASS="c"><TD CLASS="l">89</TD><TD>        makeHospitals();</TD></TR><TR CLASS="c"><TD CLASS="l">90</TD><TD>        makeItems();</TD></TR><TR CLASS="c"><TD CLASS="l">91</TD><TD>        makeStatuses();</TD></TR><TR><TD CLASS="l">92</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">93</TD><TD>        makeClientSites();</TD></TR><TR CLASS="c"><TD CLASS="l">94</TD><TD>        makeSpecimens();</TD></TR><TR><TD CLASS="l">95</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">96</TD><TD>        makeUsers();</TD></TR><TR CLASS="c"><TD CLASS="l">97</TD><TD>        makeCouriers();</TD></TR><TR CLASS="c"><TD CLASS="l">98</TD><TD>        makeShippingInfos();</TD></TR><TR CLASS="c"><TD CLASS="l">99</TD><TD>    }</TD></TR><TR><TD CLASS="l">100</TD><TD> </TD></TR><TR><TD CLASS="l">101</TD><TD>    /**</TD></TR><TR><TD CLASS="l">102</TD><TD>     * Creates a PostgresHandler to test the public methods of.</TD></TR><TR><TD CLASS="l">103</TD><TD>     * </TD></TR><TR><TD CLASS="l">104</TD><TD>     */</TD></TR><TR><TD CLASS="l">105</TD><TD>    public PostgresHandler createHandler() {</TD></TR><TR><TD CLASS="l"><A NAME="9">106</A></TD><TD>        // Takes database information from system, instead of hardcoded, used</TD></TR><TR><TD CLASS="l">107</TD><TD>        // for</TD></TR><TR><TD CLASS="l">108</TD><TD>        // testing on cubist especially.</TD></TR><TR><TD CLASS="l">109</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">110</TD><TD>            String username = System.getProperty(&#34;test.dbuser&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">111</TD><TD>            String password = System.getProperty(&#34;test.dbpass&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">112</TD><TD>            String server = System.getProperty(&#34;test.dbserver&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">113</TD><TD>            String port = System.getProperty(&#34;test.dbport&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">114</TD><TD>            String dbname = System.getProperty(&#34;test.dbname&#34;);</TD></TR><TR><TD CLASS="l">115</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">116</TD><TD>            makeScriptRunner();</TD></TR><TR><TD CLASS="l">117</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">118</TD><TD>            return new PostgresHandler(username, password, server + &#34;:&#34; + port</TD></TR><TR CLASS="c"><TD CLASS="l">119</TD><TD>                    + &#34;/&#34; + dbname);</TD></TR><TR CLASS="z"><TD CLASS="l">120</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">121</TD><TD>            e.printStackTrace();</TD></TR><TR><TD CLASS="l">122</TD><TD>        }</TD></TR><TR><TD CLASS="l">123</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">124</TD><TD>        return null;</TD></TR><TR><TD CLASS="l">125</TD><TD>    }</TD></TR><TR><TD CLASS="l">126</TD><TD> </TD></TR><TR><TD CLASS="l">127</TD><TD>    /**</TD></TR><TR><TD CLASS="l">128</TD><TD>     * Runs the setup.sql and setup_tests.sql scripts to create a fresh version</TD></TR><TR><TD CLASS="l">129</TD><TD>     * of the database. This allows for the tests to be run multiple times</TD></TR><TR><TD CLASS="l"><A NAME="3">130</A></TD><TD>     * without changing the expected results.</TD></TR><TR><TD CLASS="l">131</TD><TD>     */</TD></TR><TR><TD CLASS="l">132</TD><TD>    public void setUp() {</TD></TR><TR><TD CLASS="l">133</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">134</TD><TD>            Util.setUp(&#34;setup_tests.sql&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">135</TD><TD>        } catch (Exception e) {</TD></TR><TR CLASS="z"><TD CLASS="l">136</TD><TD>            logger.finer(e.getMessage());</TD></TR><TR CLASS="z"><TD CLASS="l">137</TD><TD>            fail(&#34;Error running setup scripts;&#34;);</TD></TR><TR><TD CLASS="l">138</TD><TD>        }</TD></TR><TR><TD CLASS="l">139</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">140</TD><TD>    }</TD></TR><TR><TD CLASS="l">141</TD><TD> </TD></TR><TR><TD CLASS="l">142</TD><TD>    /**</TD></TR><TR><TD CLASS="l">143</TD><TD>     * Runs the teardown.sql that removes all the tables from the database. This</TD></TR><TR><TD CLASS="l"><A NAME="2">144</A></TD><TD>     * allows for a fresh database to be created for the next test.</TD></TR><TR><TD CLASS="l">145</TD><TD>     */</TD></TR><TR><TD CLASS="l">146</TD><TD>    public void tearDown() {</TD></TR><TR><TD CLASS="l">147</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">148</TD><TD>            Util.tearDown();</TD></TR><TR CLASS="z"><TD CLASS="l">149</TD><TD>        } catch (Exception e) {</TD></TR><TR CLASS="z"><TD CLASS="l">150</TD><TD>            logger.finer(e.getMessage());</TD></TR><TR CLASS="z"><TD CLASS="l">151</TD><TD>            fail(&#34;Error running teardown scripts;&#34;);</TD></TR><TR><TD CLASS="l">152</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">153</TD><TD>    }</TD></TR><TR><TD CLASS="l">154</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="1c">155</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">156</TD><TD>     * Tests the login method with two different valid users and an invalid user</TD></TR><TR><TD CLASS="l">157</TD><TD>     */</TD></TR><TR><TD CLASS="l">158</TD><TD>    public void testLogin() {</TD></TR><TR CLASS="c"><TD CLASS="l">159</TD><TD>        User returned = db.login(&#34;cgamble&#34;, &#34;chris&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">160</TD><TD>        boolean x = user1.equals(returned);</TD></TR><TR CLASS="c"><TD CLASS="l">161</TD><TD>        assertTrue(x);</TD></TR><TR CLASS="c"><TD CLASS="l">162</TD><TD>        returned = db.login(&#34;cschroeder&#34;, &#34;cody&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">163</TD><TD>        x = user2.equals(returned);</TD></TR><TR CLASS="c"><TD CLASS="l">164</TD><TD>        assertTrue(x);</TD></TR><TR CLASS="c"><TD CLASS="l">165</TD><TD>        returned = db.login(&#34;cgamble&#34;, &#34;wrong password&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">166</TD><TD>        assertNull(returned);</TD></TR><TR CLASS="c"><TD CLASS="l">167</TD><TD>    }</TD></TR><TR><TD CLASS="l">168</TD><TD> </TD></TR><TR><TD CLASS="l">169</TD><TD>    /**</TD></TR><TR><TD CLASS="l"><A NAME="5">170</A></TD><TD>     * Tests the close and open and isClosed methods</TD></TR><TR><TD CLASS="l">171</TD><TD>     */</TD></TR><TR><TD CLASS="l">172</TD><TD>    public void testOpenClose() {</TD></TR><TR><TD CLASS="l">173</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">174</TD><TD>            db.close();</TD></TR><TR CLASS="c"><TD CLASS="l">175</TD><TD>            assertTrue(db.isClosed());</TD></TR><TR CLASS="c"><TD CLASS="l">176</TD><TD>            db.open();</TD></TR><TR CLASS="c"><TD CLASS="l">177</TD><TD>            assertFalse(db.isClosed());</TD></TR><TR><TD CLASS="l">178</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">179</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">180</TD><TD>            logger.finer(e.getMessage());</TD></TR><TR CLASS="z"><TD CLASS="l">181</TD><TD>            fail(&#34;Unexpected SQLException: &#34; + e.getMessage());</TD></TR><TR><TD CLASS="l">182</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">183</TD><TD>    }</TD></TR><TR><TD CLASS="l">184</TD><TD> </TD></TR><TR><TD CLASS="l">185</TD><TD>    /**</TD></TR><TR><TD CLASS="l">186</TD><TD>     * Adds a new record for each table to check. Adds a record that shouldn't</TD></TR><TR><TD CLASS="l">187</TD><TD>     * be allowed to ensure an exception is thrown</TD></TR><TR><TD CLASS="l">188</TD><TD>     * </TD></TR><TR><TD CLASS="l">189</TD><TD>     * @throws Exception</TD></TR><TR><TD CLASS="l">190</TD><TD>     *             if there is an error thrown by the handler that is</TD></TR><TR><TD CLASS="l"><A NAME="1">191</A></TD><TD>     *             unexpected.</TD></TR><TR><TD CLASS="l">192</TD><TD>     */</TD></TR><TR><TD CLASS="l">193</TD><TD>    public void testAddRecord() throws Exception {</TD></TR><TR><TD CLASS="l">194</TD><TD>        // Test each type</TD></TR><TR CLASS="z"><TD CLASS="l">195</TD><TD>        Hospital h = new Hospital(4, &#34;CSE403&#34;,</TD></TR><TR CLASS="z"><TD CLASS="l">196</TD><TD>                &#34;123 SE 321 St, Seattle, WA, 98141&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">197</TD><TD>        String[] array = { &#34;Step1&#34;, &#34;Step 2&#34; };</TD></TR><TR CLASS="z"><TD CLASS="l">198</TD><TD>        ClientSite c = new ClientSite(4, &#34;That one&#34;, h, Arrays.asList(array),</TD></TR><TR CLASS="z"><TD CLASS="l">199</TD><TD>                &#34;1234567890&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">200</TD><TD>        UserType ut = new UserType(6, &#34;Slave&#34;, &#34;Slaves can't do shit&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">201</TD><TD>        User u = new User(&#34;newuser&#34;, &#34;password&#34;, &#34;new&#34;, &#34;user&#34;, c, ut);</TD></TR><TR CLASS="z"><TD CLASS="l">202</TD><TD>        ClientSite[] x = { c };</TD></TR><TR CLASS="z"><TD CLASS="l">203</TD><TD>        Courier cour = new Courier(u, Arrays.asList(x), 0.0, 0.0, null);</TD></TR><TR CLASS="z"><TD CLASS="l">204</TD><TD>        Item i = new Item(7, &#34;Item without Specimen&#34;, &#34;RED&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">205</TD><TD>        Status s = new Status(4, &#34;OH SHIT!!&#34;,</TD></TR><TR CLASS="z"><TD CLASS="l">206</TD><TD>                &#34;We have no clue where your shit is.&#34;);</TD></TR><TR><TD CLASS="l">207</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">208</TD><TD>        db.addRecord(h);</TD></TR><TR CLASS="z"><TD CLASS="l">209</TD><TD>        db.addRecord(c);</TD></TR><TR CLASS="z"><TD CLASS="l">210</TD><TD>        db.addRecord(ut);</TD></TR><TR CLASS="z"><TD CLASS="l">211</TD><TD>        db.addRecord(u);</TD></TR><TR CLASS="z"><TD CLASS="l">212</TD><TD>        db.addRecord(cour);</TD></TR><TR><TD CLASS="l">213</TD><TD>        try {</TD></TR><TR CLASS="z"><TD CLASS="l">214</TD><TD>            db.addRecord(null);</TD></TR><TR CLASS="c"><TD CLASS="l">215</TD><TD>        } catch (SQLException e) {</TD></TR><TR><TD CLASS="l">216</TD><TD>            // Throws SQLException if trying to add null</TD></TR><TR><TD CLASS="l">217</TD><TD>        }</TD></TR><TR><TD CLASS="l">218</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">219</TD><TD>        boolean thrown = false;</TD></TR><TR><TD CLASS="l">220</TD><TD>        try {</TD></TR><TR CLASS="z"><TD CLASS="l">221</TD><TD>            db.addRecord(i);</TD></TR><TR CLASS="c"><TD CLASS="l">222</TD><TD>        } catch (Exception e) {</TD></TR><TR CLASS="c"><TD CLASS="l">223</TD><TD>            thrown = true;</TD></TR><TR><TD CLASS="l">224</TD><TD>        }</TD></TR><TR CLASS="z"><TD CLASS="l">225</TD><TD>        assertTrue(thrown);</TD></TR><TR CLASS="z"><TD CLASS="l">226</TD><TD>        db.addRecord(s);</TD></TR><TR CLASS="z"><TD CLASS="l">227</TD><TD>        db.addRecord(sp1);</TD></TR><TR CLASS="z"><TD CLASS="l">228</TD><TD>        db.addRecord(si2);</TD></TR><TR CLASS="z"><TD CLASS="l">229</TD><TD>        db.addRecord(sp3);</TD></TR><TR><TD CLASS="l">230</TD><TD> </TD></TR><TR><TD CLASS="l">231</TD><TD>        // Test Issue with .addShippingInfo(159561, &#34;&#34;, &#34;arsas&#34;, {name1=purple},</TD></TR><TR><TD CLASS="l">232</TD><TD>        // &#34;jjeng&#34;, 2)</TD></TR><TR CLASS="z"><TD CLASS="l">233</TD><TD>        Item i2 = new Item(7, &#34;name1&#34;, &#34;purple&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">234</TD><TD>        List&lt;Item&gt; list = new LinkedList&lt;Item&gt;();</TD></TR><TR CLASS="z"><TD CLASS="l">235</TD><TD>        list.add(i2);</TD></TR><TR CLASS="z"><TD CLASS="l">236</TD><TD>        Specimen sp = new Specimen(&#34;159561&#34;, &#34;&#34;, &#34;arsas&#34;, list);</TD></TR><TR CLASS="z"><TD CLASS="l">237</TD><TD>        db.addRecord(new ShippingInformation(sp, user6, cs2, st1, null));</TD></TR><TR><TD CLASS="l">238</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">239</TD><TD>        User u2 = new User(&#34;this guy&#34;, &#34;is not in the&#34;, &#34;database&#34;, &#34;at all&#34;,</TD></TR><TR CLASS="z"><TD CLASS="l">240</TD><TD>                cs2, ut4);</TD></TR><TR CLASS="z"><TD CLASS="l">241</TD><TD>        sp = new Specimen(&#34;963852&#34;, &#34;&#34;, &#34;arsas&#34;, list);</TD></TR><TR><TD CLASS="l">242</TD><TD>        try {</TD></TR><TR CLASS="z"><TD CLASS="l">243</TD><TD>            db.addRecord(new ShippingInformation(sp, u2, cs2, st1, null));</TD></TR><TR CLASS="c"><TD CLASS="l">244</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="c"><TD CLASS="l">245</TD><TD>            assertNull(db.getSpecimenByID(&#34;963852&#34;));</TD></TR><TR><TD CLASS="l">246</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">247</TD><TD>        assertNull(db.getSpecimenByID(&#34;963852&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">248</TD><TD>    }</TD></TR><TR><TD CLASS="l">249</TD><TD> </TD></TR><TR><TD CLASS="l">250</TD><TD>    /**</TD></TR><TR><TD CLASS="l">251</TD><TD>     * Calls the change method on records that are already in the database. The</TD></TR><TR><TD CLASS="l">252</TD><TD>     * most common reason to do this will be for mistakes in the specimen and so</TD></TR><TR><TD CLASS="l">253</TD><TD>     * that is what I have tested.</TD></TR><TR><TD CLASS="l">254</TD><TD>     * </TD></TR><TR><TD CLASS="l"><A NAME="4">255</A></TD><TD>     * @throws SQLException</TD></TR><TR><TD CLASS="l">256</TD><TD>     */</TD></TR><TR><TD CLASS="l">257</TD><TD>    public void testChangeRecord() throws SQLException {</TD></TR><TR><TD CLASS="l">258</TD><TD>        // Assumes addRecord works</TD></TR><TR CLASS="c"><TD CLASS="l">259</TD><TD>        db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">260</TD><TD>        db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">261</TD><TD>        db.addRecord(si3);</TD></TR><TR><TD CLASS="l">262</TD><TD> </TD></TR><TR><TD CLASS="l">263</TD><TD>        // Changes i5 of sp3</TD></TR><TR><TD CLASS="l">264</TD><TD>        // Removes i4 from sp3</TD></TR><TR><TD CLASS="l">265</TD><TD>        // Adds i7 to sp3</TD></TR><TR><TD CLASS="l">266</TD><TD>        // i6 stays the same in sp3</TD></TR><TR><TD CLASS="l">267</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">268</TD><TD>        Item i5diff = new Item(5, &#34;this has changed to &#34;, &#34;BLACK&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">269</TD><TD>        Item i7 = new Item(7, &#34;this has been added&#34;, &#34;PURPLE&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">270</TD><TD>        List&lt;Item&gt; l3 = new ArrayList&lt;Item&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">271</TD><TD>        l3.add(i5diff);</TD></TR><TR CLASS="c"><TD CLASS="l">272</TD><TD>        l3.add(i6);</TD></TR><TR CLASS="c"><TD CLASS="l">273</TD><TD>        l3.add(i7);</TD></TR><TR CLASS="c"><TD CLASS="l">274</TD><TD>        Specimen sp4 = new Specimen(&#34;654321&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">275</TD><TD>                &#34;Contains 3 vials: urine, snot, water&#34;, &#34;TIME CRITICAL&#34;, l3);</TD></TR><TR><TD CLASS="l">276</TD><TD> </TD></TR><TR><TD CLASS="l">277</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">278</TD><TD>            db.changeRecord(sp4);</TD></TR><TR CLASS="c"><TD CLASS="l">279</TD><TD>            assertEquals(sp4, db.getSpecimenByID(sp4.barcode));</TD></TR><TR CLASS="z"><TD CLASS="l">280</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">281</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">282</TD><TD>            fail(&#34;Record change didn't work&#34;);</TD></TR><TR><TD CLASS="l">283</TD><TD>        }</TD></TR><TR><TD CLASS="l">284</TD><TD> </TD></TR><TR><TD CLASS="l">285</TD><TD>        // Removes i5, adds two new, removes i7, adds i4 back</TD></TR><TR CLASS="c"><TD CLASS="l">286</TD><TD>        l3.remove(i5diff);</TD></TR><TR CLASS="c"><TD CLASS="l">287</TD><TD>        l3.add(new Item(10, &#34;Added this&#34;, &#34;BLACK&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">288</TD><TD>        l3.add(new Item(8, &#34;Added this&#34;, &#34;BLUE&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">289</TD><TD>        l3.remove(i7);</TD></TR><TR CLASS="c"><TD CLASS="l">290</TD><TD>        l3.add(new Item(9, &#34;urine&#34;, &#34;GREEN&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">291</TD><TD>        sp4 = new Specimen(&#34;654321&#34;, &#34;Contains 3 vials: urine, snot, water&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">292</TD><TD>                &#34;TIME CRITICAL&#34;, l3);</TD></TR><TR><TD CLASS="l">293</TD><TD> </TD></TR><TR><TD CLASS="l">294</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">295</TD><TD>            db.changeRecord(sp4);</TD></TR><TR CLASS="c"><TD CLASS="l">296</TD><TD>            assertEquals(sp4, db.getSpecimenByID(sp4.barcode));</TD></TR><TR CLASS="z"><TD CLASS="l">297</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">298</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">299</TD><TD>            fail(&#34;Record change didn't work&#34;);</TD></TR><TR><TD CLASS="l">300</TD><TD>        }</TD></TR><TR><TD CLASS="l">301</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">302</TD><TD>        String[] chck = { &#34;Step 1.&#34;, &#34;Step 2&#34; };</TD></TR><TR CLASS="z"><TD CLASS="l">303</TD><TD>        ClientSite cs3 = new ClientSite(1, &#34;Hello&#34;, h1, Arrays.asList(chck),</TD></TR><TR CLASS="z"><TD CLASS="l">304</TD><TD>                &#34;1234567890&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">305</TD><TD>        ClientSite[] arr = { cs2 };</TD></TR><TR CLASS="z"><TD CLASS="l">306</TD><TD>        Courier c3 = new Courier(user6, Arrays.asList(arr), 123.12, 125.54, cs2);</TD></TR><TR CLASS="z"><TD CLASS="l">307</TD><TD>        Hospital h3 = new Hospital(1, &#34;New Name&#34;, &#34;New Address&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">308</TD><TD>        ShippingInformation si4 = new ShippingInformation(sp4, user2, cs2, st1,</TD></TR><TR CLASS="z"><TD CLASS="l">309</TD><TD>                null);</TD></TR><TR CLASS="z"><TD CLASS="l">310</TD><TD>        Status status = new Status(1, &#34;Not waiting&#34;, &#34;The cake is a lie&#34;);</TD></TR><TR CLASS="z"><TD CLASS="l">311</TD><TD>        User user = new User(&#34;cgamble&#34;, &#34;chris&#34;, &#34;Gamble&#34;, &#34;Chris&#34;, cs2, ut1);</TD></TR><TR CLASS="z"><TD CLASS="l">312</TD><TD>        UserType ut = new UserType(1, &#34;Non Admin&#34;, &#34;Can't do admin stuff&#34;);</TD></TR><TR><TD CLASS="l">313</TD><TD>        try {</TD></TR><TR CLASS="z"><TD CLASS="l">314</TD><TD>            db.changeRecord(cs3);</TD></TR><TR CLASS="z"><TD CLASS="l">315</TD><TD>            assertEquals(cs3, db.getClientSiteByID(1));</TD></TR><TR><TD CLASS="l">316</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">317</TD><TD>            db.changeRecord(c3);</TD></TR><TR CLASS="z"><TD CLASS="l">318</TD><TD>            assertEquals(c3, db.getCourierByID(&#34;jjeng&#34;));</TD></TR><TR><TD CLASS="l">319</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">320</TD><TD>            db.changeRecord(h3);</TD></TR><TR CLASS="z"><TD CLASS="l">321</TD><TD>            assertEquals(h3, db.getHospitalByID(1));</TD></TR><TR CLASS="z"><TD CLASS="l">322</TD><TD>            db.changeRecord(si4);</TD></TR><TR CLASS="z"><TD CLASS="l">323</TD><TD>            assertEquals(si4, db.getShippingByID(&#34;654321&#34;));</TD></TR><TR><TD CLASS="l">324</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">325</TD><TD>            db.changeRecord(status);</TD></TR><TR CLASS="z"><TD CLASS="l">326</TD><TD>            assertEquals(status, db.getStatusByID(1));</TD></TR><TR><TD CLASS="l">327</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">328</TD><TD>            db.changeRecord(user);</TD></TR><TR CLASS="z"><TD CLASS="l">329</TD><TD>            assertEquals(user, db.getUserByID(&#34;cgamble&#34;));</TD></TR><TR><TD CLASS="l">330</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">331</TD><TD>            db.changeRecord(ut);</TD></TR><TR CLASS="z"><TD CLASS="l">332</TD><TD>            assertEquals(ut, db.getUserTypeByID(1));</TD></TR><TR><TD CLASS="l">333</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">334</TD><TD>            boolean thrown = false;</TD></TR><TR><TD CLASS="l">335</TD><TD>            try {</TD></TR><TR CLASS="z"><TD CLASS="l">336</TD><TD>                db.changeRecord(new Record());</TD></TR><TR CLASS="c"><TD CLASS="l">337</TD><TD>            } catch (Exception e) {</TD></TR><TR CLASS="c"><TD CLASS="l">338</TD><TD>                thrown = true;</TD></TR><TR><TD CLASS="l">339</TD><TD>            }</TD></TR><TR CLASS="c"><TD CLASS="l">340</TD><TD>            assertTrue(thrown);</TD></TR><TR><TD CLASS="l">341</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">342</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">343</TD><TD>            logger.finer(e.getMessage());</TD></TR><TR CLASS="z"><TD CLASS="l">344</TD><TD>            fail(&#34;Unexpected SQLException in testChangeRecord&#34; + e.getMessage());</TD></TR><TR><TD CLASS="l">345</TD><TD>        }</TD></TR><TR><TD CLASS="l">346</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">347</TD><TD>    }</TD></TR><TR><TD CLASS="l">348</TD><TD>    </TD></TR><TR><TD CLASS="l">349</TD><TD>    /**</TD></TR><TR><TD CLASS="l"><A NAME="1d">350</A></TD><TD>     * Tests the removeRecord method</TD></TR><TR><TD CLASS="l">351</TD><TD>     */</TD></TR><TR><TD CLASS="l">352</TD><TD>    public void testRemoveRecord() {</TD></TR><TR><TD CLASS="l">353</TD><TD>        </TD></TR><TR CLASS="c"><TD CLASS="l">354</TD><TD>    }</TD></TR><TR><TD CLASS="l">355</TD><TD> </TD></TR><TR><TD CLASS="l">356</TD><TD>    /**</TD></TR><TR><TD CLASS="l">357</TD><TD>     * Tests the getUsersOf method with the two ClientSites that are in the data</TD></TR><TR><TD CLASS="l">358</TD><TD>     * and then tests an empty ClientSite to make sure no users are returned.</TD></TR><TR><TD CLASS="l"><A NAME="8">359</A></TD><TD>     * </TD></TR><TR><TD CLASS="l">360</TD><TD>     * @throws SQLException</TD></TR><TR><TD CLASS="l">361</TD><TD>     */</TD></TR><TR><TD CLASS="l">362</TD><TD>    public void testFindUsersOf() {</TD></TR><TR CLASS="c"><TD CLASS="l">363</TD><TD>        List&lt;User&gt; list1 = new ArrayList&lt;User&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">364</TD><TD>        list1.add(user1);</TD></TR><TR CLASS="c"><TD CLASS="l">365</TD><TD>        list1.add(user5);</TD></TR><TR CLASS="c"><TD CLASS="l">366</TD><TD>        list1.add(user6);</TD></TR><TR><TD CLASS="l">367</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">368</TD><TD>            assertEquals(list1, db.getUsersOf(cs1));</TD></TR><TR CLASS="z"><TD CLASS="l">369</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">370</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">371</TD><TD>            fail(&#34;assertion of users of cs1 failed&#34;);</TD></TR><TR><TD CLASS="l">372</TD><TD>        }</TD></TR><TR><TD CLASS="l">373</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">374</TD><TD>        List&lt;User&gt; list2 = new ArrayList&lt;User&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">375</TD><TD>        list2.add(user2);</TD></TR><TR CLASS="c"><TD CLASS="l">376</TD><TD>        list2.add(user3);</TD></TR><TR CLASS="c"><TD CLASS="l">377</TD><TD>        list2.add(user4);</TD></TR><TR><TD CLASS="l">378</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">379</TD><TD>            assertEquals(list2, db.getUsersOf(cs2));</TD></TR><TR CLASS="z"><TD CLASS="l">380</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">381</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">382</TD><TD>            fail(&#34;assertion of users of cs2 failed&#34;);</TD></TR><TR><TD CLASS="l">383</TD><TD>        }</TD></TR><TR><TD CLASS="l">384</TD><TD> </TD></TR><TR><TD CLASS="l">385</TD><TD>        // None test</TD></TR><TR CLASS="c"><TD CLASS="l">386</TD><TD>        Hospital h3 = new Hospital(1, &#34;TBA&#34;, &#34;TBA&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">387</TD><TD>        String[] x = { &#34;TBA&#34; };</TD></TR><TR CLASS="c"><TD CLASS="l">388</TD><TD>        ClientSite cs3 = new ClientSite(4, &#34;TBA&#34;, h3, Arrays.asList(x),</TD></TR><TR CLASS="c"><TD CLASS="l">389</TD><TD>                &#34;1234567890&#34;);</TD></TR><TR><TD CLASS="l">390</TD><TD> </TD></TR><TR><TD CLASS="l">391</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">392</TD><TD>            db.addRecord(cs3);</TD></TR><TR CLASS="c"><TD CLASS="l">393</TD><TD>            List&lt;User&gt; empty = new ArrayList&lt;User&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">394</TD><TD>            assertEquals(empty, db.getUsersOf(cs3));</TD></TR><TR CLASS="z"><TD CLASS="l">395</TD><TD>        } catch (SQLException e) {</TD></TR><TR><TD CLASS="l">396</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">397</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">398</TD><TD>            fail(&#34;assertion of users of cs3 failed&#34;);</TD></TR><TR><TD CLASS="l">399</TD><TD>        }</TD></TR><TR><TD CLASS="l">400</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">401</TD><TD>    }</TD></TR><TR><TD CLASS="l">402</TD><TD> </TD></TR><TR><TD CLASS="l">403</TD><TD>    /**</TD></TR><TR><TD CLASS="l">404</TD><TD>     * Tests that the correct usertype is returned when asked for it of a</TD></TR><TR><TD CLASS="l"><A NAME="7">405</A></TD><TD>     * certain users.</TD></TR><TR><TD CLASS="l">406</TD><TD>     */</TD></TR><TR><TD CLASS="l">407</TD><TD>    public void testgetUserType() {</TD></TR><TR><TD CLASS="l">408</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">409</TD><TD>            UserType ut = db.getUserType(&#34;hello there&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">410</TD><TD>            assertNull(ut);</TD></TR><TR CLASS="c"><TD CLASS="l">411</TD><TD>            assertTrue(ut1.equals(db.getUserType(&#34;cgamble&#34;)));</TD></TR><TR CLASS="z"><TD CLASS="l">412</TD><TD>        } catch (SQLException e) {</TD></TR><TR><TD CLASS="l">413</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">414</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">415</TD><TD>            fail(&#34;User Type returned was not ut1&#34;);</TD></TR><TR><TD CLASS="l">416</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">417</TD><TD>    }</TD></TR><TR><TD CLASS="l">418</TD><TD> </TD></TR><TR><TD CLASS="l">419</TD><TD>    /**</TD></TR><TR><TD CLASS="l">420</TD><TD>     * Tests that the shippinginformation for the given barcode is the correct</TD></TR><TR><TD CLASS="l"><A NAME="a">421</A></TD><TD>     * information.</TD></TR><TR><TD CLASS="l">422</TD><TD>     */</TD></TR><TR><TD CLASS="l">423</TD><TD>    public void testGetShippingInfoFor() {</TD></TR><TR><TD CLASS="l">424</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">425</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">426</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">427</TD><TD>            db.addRecord(si3);</TD></TR><TR CLASS="c"><TD CLASS="l">428</TD><TD>            assertEquals(si1, db.getShippingInfoFor(&#34;123456&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">429</TD><TD>            assertEquals(si2, db.getShippingInfoFor(&#34;111111&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">430</TD><TD>            assertEquals(si3, db.getShippingInfoFor(&#34;654321&#34;));</TD></TR><TR CLASS="z"><TD CLASS="l">431</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">432</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">433</TD><TD>            fail(&#34;Getting Shipping Info failed&#34;);</TD></TR><TR><TD CLASS="l">434</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">435</TD><TD>    }</TD></TR><TR><TD CLASS="l">436</TD><TD> </TD></TR><TR><TD CLASS="l">437</TD><TD>    /**</TD></TR><TR><TD CLASS="l"><A NAME="d">438</A></TD><TD>     * Tests that the shippinginformation for multiple is returned properly</TD></TR><TR><TD CLASS="l">439</TD><TD>     */</TD></TR><TR><TD CLASS="l">440</TD><TD>    public void testGetAllShippingInfo() {</TD></TR><TR><TD CLASS="l">441</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">442</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">443</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">444</TD><TD>            db.addRecord(si3);</TD></TR><TR CLASS="c"><TD CLASS="l">445</TD><TD>            List&lt;Item&gt; empty = new ArrayList&lt;Item&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">446</TD><TD>            Specimen sp = new Specimen(&#34;987654&#34;, &#34;&#34;, &#34;&#34;, empty);</TD></TR><TR CLASS="c"><TD CLASS="l">447</TD><TD>            ShippingInformation si4 = new ShippingInformation(sp, user1, cs1,</TD></TR><TR CLASS="c"><TD CLASS="l">448</TD><TD>                    st1, c2);</TD></TR><TR CLASS="c"><TD CLASS="l">449</TD><TD>            db.addRecord(si4);</TD></TR><TR CLASS="c"><TD CLASS="l">450</TD><TD>            List&lt;ShippingInformation&gt; list = new ArrayList&lt;ShippingInformation&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">451</TD><TD>            list.add(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">452</TD><TD>            list.add(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">453</TD><TD>            list.add(si3);</TD></TR><TR CLASS="c"><TD CLASS="l">454</TD><TD>            list.add(si4);</TD></TR><TR><TD CLASS="l">455</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">456</TD><TD>            List&lt;ShippingInformation&gt; returned = db.getAllShippingInformation();</TD></TR><TR CLASS="c"><TD CLASS="l">457</TD><TD>            assertEquals(list, returned);</TD></TR><TR><TD CLASS="l">458</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">459</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">460</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">461</TD><TD>            fail(&#34;Getting Shipping Info failed&#34;);</TD></TR><TR><TD CLASS="l"><A NAME="12">462</A></TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">463</TD><TD>    }</TD></TR><TR><TD CLASS="l">464</TD><TD> </TD></TR><TR><TD CLASS="l">465</TD><TD>    public void testGetAlls() {</TD></TR><TR CLASS="c"><TD CLASS="l">466</TD><TD>        Hospital h0 = new Hospital(1, &#34;TBA&#34;, &#34;TBA&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">467</TD><TD>        String[] cschklist = { &#34;TBA&#34; };</TD></TR><TR CLASS="c"><TD CLASS="l">468</TD><TD>        ClientSite cs0 = new ClientSite(1, &#34;TBA&#34;, h0, Arrays.asList(cschklist),</TD></TR><TR CLASS="c"><TD CLASS="l">469</TD><TD>                &#34;1234567890&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">470</TD><TD>        Courier[] couriers = { c1, c2 };</TD></TR><TR CLASS="c"><TD CLASS="l">471</TD><TD>        User u0 = new User(&#34;admin&#34;, &#34;admin&#34;, &#34;first&#34;, &#34;last&#34;, cs0, ut1);</TD></TR><TR CLASS="c"><TD CLASS="l">472</TD><TD>        ClientSite[] clients = { cs0, cs1, cs2 };</TD></TR><TR CLASS="c"><TD CLASS="l">473</TD><TD>        Hospital[] hospitals = { h0, h1, h2 };</TD></TR><TR CLASS="c"><TD CLASS="l">474</TD><TD>        Item[] items = { i1, i2, i3, i4, i5, i6 };</TD></TR><TR CLASS="c"><TD CLASS="l">475</TD><TD>        ShippingInformation[] si = { si1, si2, si3 };</TD></TR><TR CLASS="c"><TD CLASS="l">476</TD><TD>        Specimen[] specimens = { sp1, sp2, sp3 };</TD></TR><TR CLASS="c"><TD CLASS="l">477</TD><TD>        Status[] statuses = { st1, st2, st3 };</TD></TR><TR CLASS="c"><TD CLASS="l">478</TD><TD>        User[] users = { u0, user1, user2, user3, user4, user5, user6 };</TD></TR><TR CLASS="c"><TD CLASS="l">479</TD><TD>        UserType[] userTypes = { ut1, ut2, ut3, ut4, ut5 };</TD></TR><TR><TD CLASS="l">480</TD><TD>        try {</TD></TR><TR><TD CLASS="l">481</TD><TD>            // Assumes addRecord works</TD></TR><TR CLASS="c"><TD CLASS="l">482</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">483</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">484</TD><TD>            db.addRecord(si3);</TD></TR><TR><TD CLASS="l">485</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">486</TD><TD>            assertEquals(Arrays.asList(clients), db.getAllClientSites());</TD></TR><TR CLASS="c"><TD CLASS="l">487</TD><TD>            assertEquals(Arrays.asList(couriers), db.getAllCouriers());</TD></TR><TR CLASS="c"><TD CLASS="l">488</TD><TD>            assertEquals(Arrays.asList(hospitals), db.getAllHospitals());</TD></TR><TR CLASS="c"><TD CLASS="l">489</TD><TD>            assertEquals(Arrays.asList(items), db.getAllItems());</TD></TR><TR CLASS="c"><TD CLASS="l">490</TD><TD>            assertEquals(Arrays.asList(si), db.getAllShippingInformation());</TD></TR><TR CLASS="c"><TD CLASS="l">491</TD><TD>            assertEquals(Arrays.asList(specimens), db.getAllSpecimens());</TD></TR><TR CLASS="c"><TD CLASS="l">492</TD><TD>            assertEquals(Arrays.asList(statuses), db.getAllStatuses());</TD></TR><TR CLASS="c"><TD CLASS="l">493</TD><TD>            assertEquals(Arrays.asList(users), db.getAllUsers());</TD></TR><TR CLASS="c"><TD CLASS="l">494</TD><TD>            assertEquals(Arrays.asList(userTypes), db.getAllUserTypes());</TD></TR><TR><TD CLASS="l">495</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">496</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">497</TD><TD>            logger.finer(e.getMessage());</TD></TR><TR CLASS="z"><TD CLASS="l">498</TD><TD>            fail(&#34;Unexpected SQLException in testGetAlls&#34;);</TD></TR><TR><TD CLASS="l">499</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l"><A NAME="11">500</A></TD><TD>    }</TD></TR><TR><TD CLASS="l">501</TD><TD> </TD></TR><TR><TD CLASS="l">502</TD><TD>    public void testGetByIDs() {</TD></TR><TR><TD CLASS="l">503</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">504</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">505</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">506</TD><TD>            db.addRecord(si3);</TD></TR><TR><TD CLASS="l">507</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">508</TD><TD>            assertEquals(user1, db.getUserByID(&#34;cgamble&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">509</TD><TD>            assertEquals(ut1, db.getUserTypeByID(1));</TD></TR><TR CLASS="c"><TD CLASS="l">510</TD><TD>            assertEquals(h1, db.getHospitalByID(2));</TD></TR><TR CLASS="c"><TD CLASS="l">511</TD><TD>            assertEquals(i1, db.getItemByID(1));</TD></TR><TR CLASS="c"><TD CLASS="l">512</TD><TD>            assertEquals(cs1, db.getClientSiteByID(2));</TD></TR><TR CLASS="c"><TD CLASS="l">513</TD><TD>            assertEquals(st1, db.getStatusByID(1));</TD></TR><TR CLASS="c"><TD CLASS="l">514</TD><TD>            assertEquals(si1, db.getShippingByID(&#34;123456&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">515</TD><TD>            assertEquals(sp1, db.getSpecimenByID(&#34;123456&#34;));</TD></TR><TR CLASS="c"><TD CLASS="l">516</TD><TD>            assertEquals(c2, db.getCourierByID(&#34;jjeng&#34;));</TD></TR><TR CLASS="z"><TD CLASS="l">517</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">518</TD><TD>            fail(&#34;DB Error&#34;);</TD></TR><TR><TD CLASS="l">519</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">520</TD><TD>    }</TD></TR><TR><TD CLASS="l">521</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="10">522</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">523</TD><TD>     * Gets the checklists and ensures that they are correctly gotten.</TD></TR><TR><TD CLASS="l">524</TD><TD>     */</TD></TR><TR><TD CLASS="l">525</TD><TD>    public void testGetCheckLists() {</TD></TR><TR CLASS="c"><TD CLASS="l">526</TD><TD>        String[] start = {</TD></TR><TR CLASS="c"><TD CLASS="l">527</TD><TD>                &#34;To change this checklist login to the website as an Administrator.&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">528</TD><TD>                &#34;Go to System Settings&#34;, &#34;Fill out a new Checklist&#34; };</TD></TR><TR CLASS="c"><TD CLASS="l">529</TD><TD>        String[] end = { &#34;This is what is displayed at the end of the route&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">530</TD><TD>                &#34;To change this, see starting checklist instructions&#34; };</TD></TR><TR CLASS="c"><TD CLASS="l">531</TD><TD>        CheckListPair clp = new CheckListPair(Arrays.asList(start), Arrays</TD></TR><TR CLASS="c"><TD CLASS="l">532</TD><TD>                .asList(end));</TD></TR><TR CLASS="c"><TD CLASS="l">533</TD><TD>        CheckListPair ret = null;</TD></TR><TR><TD CLASS="l">534</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">535</TD><TD>            ret = db.getCheckLists();</TD></TR><TR CLASS="c"><TD CLASS="l">536</TD><TD>            db.changeRecord(new CheckListPair(Arrays.asList(end), Arrays</TD></TR><TR CLASS="c"><TD CLASS="l">537</TD><TD>                    .asList(start)));</TD></TR><TR CLASS="c"><TD CLASS="l">538</TD><TD>            assertEquals(clp, ret);</TD></TR><TR CLASS="c"><TD CLASS="l">539</TD><TD>            clp = new CheckListPair(Arrays.asList(end), Arrays.asList(start));</TD></TR><TR CLASS="c"><TD CLASS="l">540</TD><TD>            ret = db.getCheckLists();</TD></TR><TR CLASS="c"><TD CLASS="l">541</TD><TD>            assertEquals(clp, ret);</TD></TR><TR CLASS="z"><TD CLASS="l">542</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">543</TD><TD>            e.printStackTrace();</TD></TR><TR><TD CLASS="l">544</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">545</TD><TD>    }</TD></TR><TR><TD CLASS="l">546</TD><TD> </TD></TR><TR><TD CLASS="l">547</TD><TD>    /**</TD></TR><TR><TD CLASS="l"><A NAME="6">548</A></TD><TD>     * Gets the courier information if applicable for the current users.</TD></TR><TR><TD CLASS="l">549</TD><TD>     */</TD></TR><TR><TD CLASS="l">550</TD><TD>    public void testGetCourierInformation() {</TD></TR><TR><TD CLASS="l">551</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">552</TD><TD>            Courier c = db.getCourierByID(&#34;this is nobody&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">553</TD><TD>            assertNull(c);</TD></TR><TR CLASS="c"><TD CLASS="l">554</TD><TD>            assertTrue(c2.equals(db.getCourierByID(&#34;jjeng&#34;)));</TD></TR><TR CLASS="z"><TD CLASS="l">555</TD><TD>        } catch (SQLException e) {</TD></TR><TR><TD CLASS="l">556</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">557</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">558</TD><TD>            fail(&#34;Courier returned was not c2&#34;);</TD></TR><TR><TD CLASS="l">559</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">560</TD><TD>    }</TD></TR><TR><TD CLASS="l">561</TD><TD> </TD></TR><TR><TD CLASS="l">562</TD><TD>    /**</TD></TR><TR><TD CLASS="l">563</TD><TD>     * Tests that the shipping information that has been sent by the given</TD></TR><TR><TD CLASS="l"><A NAME="c">564</A></TD><TD>     * ClientSite returns the proper list of ShippingInformation.</TD></TR><TR><TD CLASS="l">565</TD><TD>     */</TD></TR><TR><TD CLASS="l">566</TD><TD>    public void testSpecimensFrom() {</TD></TR><TR><TD CLASS="l">567</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">568</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">569</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">570</TD><TD>            db.addRecord(si3);</TD></TR><TR CLASS="c"><TD CLASS="l">571</TD><TD>            List&lt;ShippingInformation&gt; list = db.specimensFrom(cs2);</TD></TR><TR CLASS="c"><TD CLASS="l">572</TD><TD>            ShippingInformation[] si = { si1, si2, si3 };</TD></TR><TR CLASS="c"><TD CLASS="l">573</TD><TD>            assertEquals(Arrays.asList(si), list);</TD></TR><TR CLASS="z"><TD CLASS="l">574</TD><TD>        } catch (SQLException e) {</TD></TR><TR CLASS="z"><TD CLASS="l">575</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">576</TD><TD>            fail(&#34;SpecimensFrom method failed.&#34;);</TD></TR><TR><TD CLASS="l">577</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">578</TD><TD>    }</TD></TR><TR><TD CLASS="l">579</TD><TD> </TD></TR><TR><TD CLASS="l">580</TD><TD>    /**</TD></TR><TR><TD CLASS="l">581</TD><TD>     * Tests that the shipping information that has been sent to the given</TD></TR><TR><TD CLASS="l"><A NAME="b">582</A></TD><TD>     * ClientSite returns the proper list of ShippingInformation.</TD></TR><TR><TD CLASS="l">583</TD><TD>     */</TD></TR><TR><TD CLASS="l">584</TD><TD>    public void testSpecimensTo() throws SQLException {</TD></TR><TR><TD CLASS="l">585</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">586</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">587</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">588</TD><TD>            db.addRecord(si3);</TD></TR><TR CLASS="c"><TD CLASS="l">589</TD><TD>            List&lt;ShippingInformation&gt; list = db.specimensTo(cs1);</TD></TR><TR CLASS="c"><TD CLASS="l">590</TD><TD>            ShippingInformation[] si = { si1, si2 };</TD></TR><TR CLASS="c"><TD CLASS="l">591</TD><TD>            assertEquals(Arrays.asList(si), list);</TD></TR><TR CLASS="z"><TD CLASS="l">592</TD><TD>        } catch (SQLException e) {</TD></TR><TR><TD CLASS="l">593</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">594</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">595</TD><TD>            fail(&#34;Specimen list returned does not match&#34;);</TD></TR><TR><TD CLASS="l">596</TD><TD>        }</TD></TR><TR><TD CLASS="l">597</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">598</TD><TD>    }</TD></TR><TR><TD CLASS="l">599</TD><TD> </TD></TR><TR><TD CLASS="l">600</TD><TD>    /**</TD></TR><TR><TD CLASS="l">601</TD><TD>     * Tests that the method returns only the objects that haven't arrived at</TD></TR><TR><TD CLASS="l"><A NAME="e">602</A></TD><TD>     * their destination yet.</TD></TR><TR><TD CLASS="l">603</TD><TD>     */</TD></TR><TR><TD CLASS="l">604</TD><TD>    public void testGetNotArrived() {</TD></TR><TR><TD CLASS="l">605</TD><TD>        try {</TD></TR><TR CLASS="c"><TD CLASS="l">606</TD><TD>            List&lt;Item&gt; l1 = new ArrayList&lt;Item&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">607</TD><TD>            l1.add(i1);</TD></TR><TR CLASS="c"><TD CLASS="l">608</TD><TD>            Specimen s = new Specimen(&#34;000011&#34;, &#34;Contains a vial of blood&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">609</TD><TD>                    &#34;Refridgerate&#34;, l1);</TD></TR><TR CLASS="c"><TD CLASS="l">610</TD><TD>            ShippingInformation si = new ShippingInformation(s, user1, cs1,</TD></TR><TR CLASS="c"><TD CLASS="l">611</TD><TD>                    st3, null);</TD></TR><TR CLASS="c"><TD CLASS="l">612</TD><TD>            db.addRecord(si1);</TD></TR><TR CLASS="c"><TD CLASS="l">613</TD><TD>            db.addRecord(si2);</TD></TR><TR CLASS="c"><TD CLASS="l">614</TD><TD>            db.addRecord(si3);</TD></TR><TR CLASS="c"><TD CLASS="l">615</TD><TD>            db.addRecord(si);</TD></TR><TR CLASS="c"><TD CLASS="l">616</TD><TD>            List&lt;ShippingInformation&gt; list = db.getNotArrived();</TD></TR><TR CLASS="c"><TD CLASS="l">617</TD><TD>            ShippingInformation[] expected = { si1, si2, si3 };</TD></TR><TR CLASS="c"><TD CLASS="l">618</TD><TD>            assertEquals(Arrays.asList(expected), list);</TD></TR><TR CLASS="z"><TD CLASS="l">619</TD><TD>        } catch (SQLException e) {</TD></TR><TR><TD CLASS="l">620</TD><TD> </TD></TR><TR CLASS="z"><TD CLASS="l">621</TD><TD>            e.printStackTrace();</TD></TR><TR CLASS="z"><TD CLASS="l">622</TD><TD>            fail(&#34;Specimen list returned does not match&#34;);</TD></TR><TR><TD CLASS="l">623</TD><TD>        }</TD></TR><TR CLASS="c"><TD CLASS="l">624</TD><TD>    }</TD></TR><TR><TD CLASS="l">625</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="16">626</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">627</TD><TD>     * Makes record representation of the items that can be in the database.</TD></TR><TR><TD CLASS="l">628</TD><TD>     */</TD></TR><TR><TD CLASS="l">629</TD><TD>    private void makeItems() {</TD></TR><TR CLASS="c"><TD CLASS="l">630</TD><TD>        i1 = new Item(1, &#34;blood - type A&#34;, &#34;RED&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">631</TD><TD>        i2 = new Item(2, &#34;blood - type B&#34;, &#34;YELLOW&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">632</TD><TD>        i3 = new Item(3, &#34;spinal fluid&#34;, &#34;ORANGE&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">633</TD><TD>        i4 = new Item(4, &#34;urine&#34;, &#34;GREEN&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">634</TD><TD>        i5 = new Item(5, &#34;snot&#34;, &#34;BLUE&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">635</TD><TD>        i6 = new Item(6, &#34;water&#34;, &#34;PURPLE&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">636</TD><TD>    }</TD></TR><TR><TD CLASS="l">637</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="18">638</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">639</TD><TD>     * Makes record representation of the Specimens that can be in the database.</TD></TR><TR><TD CLASS="l">640</TD><TD>     */</TD></TR><TR><TD CLASS="l">641</TD><TD>    private void makeSpecimens() {</TD></TR><TR CLASS="c"><TD CLASS="l">642</TD><TD>        List&lt;Item&gt; l1 = new ArrayList&lt;Item&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">643</TD><TD>        l1.add(i1);</TD></TR><TR CLASS="c"><TD CLASS="l">644</TD><TD>        sp1 = new Specimen(&#34;123456&#34;, &#34;Contains 1 vial of blood&#34;, &#34;None&#34;, l1);</TD></TR><TR><TD CLASS="l">645</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">646</TD><TD>        List&lt;Item&gt; l2 = new ArrayList&lt;Item&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">647</TD><TD>        l2.add(i2);</TD></TR><TR CLASS="c"><TD CLASS="l">648</TD><TD>        l2.add(i3);</TD></TR><TR CLASS="c"><TD CLASS="l">649</TD><TD>        sp2 = new Specimen(&#34;111111&#34;, &#34;Contains 2 vials: blood, spinalfluid&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">650</TD><TD>                &#34;REFRIGERATE&#34;, l2);</TD></TR><TR><TD CLASS="l">651</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">652</TD><TD>        List&lt;Item&gt; l3 = new ArrayList&lt;Item&gt;();</TD></TR><TR CLASS="c"><TD CLASS="l">653</TD><TD>        l3.add(i4);</TD></TR><TR CLASS="c"><TD CLASS="l">654</TD><TD>        l3.add(i5);</TD></TR><TR CLASS="c"><TD CLASS="l">655</TD><TD>        l3.add(i6);</TD></TR><TR CLASS="c"><TD CLASS="l">656</TD><TD>        sp3 = new Specimen(&#34;654321&#34;, &#34;Contains 3 vials: urine, snot, water&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">657</TD><TD>                &#34;TIME CRITICAL&#34;, l3);</TD></TR><TR><TD CLASS="l">658</TD><TD> </TD></TR><TR CLASS="c"><TD CLASS="l">659</TD><TD>    }</TD></TR><TR><TD CLASS="l">660</TD><TD> </TD></TR><TR><TD CLASS="l">661</TD><TD>    /**</TD></TR><TR><TD CLASS="l"><A NAME="17">662</A></TD><TD>     * Makes record representation of the ShippingInformations that can be in</TD></TR><TR><TD CLASS="l">663</TD><TD>     * the database.</TD></TR><TR><TD CLASS="l">664</TD><TD>     */</TD></TR><TR><TD CLASS="l">665</TD><TD>    private void makeShippingInfos() {</TD></TR><TR CLASS="c"><TD CLASS="l">666</TD><TD>        si1 = new ShippingInformation(sp1, user2, cs1, st1, null);</TD></TR><TR CLASS="c"><TD CLASS="l">667</TD><TD>        si2 = new ShippingInformation(sp2, user3, cs1, st1, null);</TD></TR><TR CLASS="c"><TD CLASS="l">668</TD><TD>        si3 = new ShippingInformation(sp3, user4, cs2, st1, null);</TD></TR><TR CLASS="c"><TD CLASS="l">669</TD><TD>    }</TD></TR><TR><TD CLASS="l">670</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="15">671</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">672</TD><TD>     * Makes record representation of the hospitals that can be in the database.</TD></TR><TR><TD CLASS="l">673</TD><TD>     */</TD></TR><TR><TD CLASS="l">674</TD><TD>    private void makeHospitals() {</TD></TR><TR CLASS="c"><TD CLASS="l">675</TD><TD>        h1 = new Hospital(2, &#34;The Hospital&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">676</TD><TD>                &#34;123 100 Dr SE, Seattle, WA, 98155&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">677</TD><TD>        h2 = new Hospital(3, &#34;The Other Hospital&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">678</TD><TD>                &#34;321 300 Dr SE, Tacoma, WA, 98345&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">679</TD><TD>    }</TD></TR><TR><TD CLASS="l">680</TD><TD> </TD></TR><TR><TD CLASS="l">681</TD><TD>    /**</TD></TR><TR><TD CLASS="l"><A NAME="13">682</A></TD><TD>     * Makes record representation of the ClientSite that can be in the</TD></TR><TR><TD CLASS="l">683</TD><TD>     * database.</TD></TR><TR><TD CLASS="l">684</TD><TD>     */</TD></TR><TR><TD CLASS="l">685</TD><TD>    private void makeClientSites() {</TD></TR><TR CLASS="c"><TD CLASS="l">686</TD><TD>        String[] x = { &#34;Do not mess up.&#34;, &#34;Repeat Step 1.&#34; };</TD></TR><TR CLASS="c"><TD CLASS="l">687</TD><TD>        String[] y = { &#34;Mess up.&#34;, &#34;Do Not Repeat Step 1.&#34; };</TD></TR><TR CLASS="c"><TD CLASS="l">688</TD><TD>        cs1 = new ClientSite(2, &#34;LAB&#34;, h1, Arrays.asList(x), &#34;2065555555&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">689</TD><TD>        cs2 = new ClientSite(3, &#34;Not the LAB&#34;, h2, Arrays.asList(y),</TD></TR><TR CLASS="c"><TD CLASS="l">690</TD><TD>                &#34;2064444444&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">691</TD><TD>    }</TD></TR><TR><TD CLASS="l">692</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="19">693</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">694</TD><TD>     * Makes record representation of the Statuses that can be in the database.</TD></TR><TR><TD CLASS="l">695</TD><TD>     */</TD></TR><TR><TD CLASS="l">696</TD><TD>    private void makeStatuses() {</TD></TR><TR CLASS="c"><TD CLASS="l">697</TD><TD>        st1 = new Status(1, &#34;Waiting&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">698</TD><TD>                &#34;The shipment is waiting to be picked up.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">699</TD><TD>        st2 = new Status(2, &#34;In Transit&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">700</TD><TD>                &#34;The shipment has been picked up and is on its way to the destination.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">701</TD><TD>        st3 = new Status(3, &#34;Arrived&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">702</TD><TD>                &#34;The shipment has arrived at is final destination.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">703</TD><TD>    }</TD></TR><TR><TD CLASS="l">704</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="1a">705</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">706</TD><TD>     * Makes record representation of the UserTypes that can be in the database.</TD></TR><TR><TD CLASS="l">707</TD><TD>     */</TD></TR><TR><TD CLASS="l">708</TD><TD>    private void makeUserTypes() {</TD></TR><TR CLASS="c"><TD CLASS="l">709</TD><TD>        ut1 = new UserType(</TD></TR><TR CLASS="c"><TD CLASS="l">710</TD><TD>                1,</TD></TR><TR CLASS="c"><TD CLASS="l">711</TD><TD>                &#34;Administrator&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">712</TD><TD>                &#34;Administrators have access to everything in the system, they can add users, hospitals, clients as well as track everything.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">713</TD><TD>        ut2 = new UserType(</TD></TR><TR CLASS="c"><TD CLASS="l">714</TD><TD>                2,</TD></TR><TR CLASS="c"><TD CLASS="l">715</TD><TD>                &#34;Hospital Administrator&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">716</TD><TD>                &#34;Administrators of a Hospital, They can add users for their hospital and client sites within the hospital.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">717</TD><TD>        ut3 = new UserType(</TD></TR><TR CLASS="c"><TD CLASS="l">718</TD><TD>                3,</TD></TR><TR CLASS="c"><TD CLASS="l">719</TD><TD>                &#34;Lab User&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">720</TD><TD>                &#34;These users can track everything, and modify specimens but they cannot add any users, Hospitals, or Clients, or specimens&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">721</TD><TD>        ut4 = new UserType(</TD></TR><TR CLASS="c"><TD CLASS="l">722</TD><TD>                4,</TD></TR><TR CLASS="c"><TD CLASS="l">723</TD><TD>                &#34;Client User&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">724</TD><TD>                &#34;These users can track specimens from their respective client site, and can add specimens from their client site, but cannot add anything else. They can modify specimens they have added before the status has changed to picked up.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">725</TD><TD>        ut5 = new UserType(</TD></TR><TR CLASS="c"><TD CLASS="l">726</TD><TD>                5,</TD></TR><TR CLASS="c"><TD CLASS="l">727</TD><TD>                &#34;Courier&#34;,</TD></TR><TR CLASS="c"><TD CLASS="l">728</TD><TD>                &#34;They can only modify specimen statuses, they are can track everything, but they cannot add anything, only modify the status.&#34;);</TD></TR><TR CLASS="c"><TD CLASS="l">729</TD><TD>    }</TD></TR><TR><TD CLASS="l">730</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="1b">731</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">732</TD><TD>     * Makes record representation of the Users that can be in the database.</TD></TR><TR><TD CLASS="l">733</TD><TD>     */</TD></TR><TR><TD CLASS="l">734</TD><TD>    private void makeUsers() {</TD></TR><TR CLASS="c"><TD CLASS="l">735</TD><TD>        user1 = new User(&#34;cgamble&#34;, &#34;chris&#34;, &#34;Chris&#34;, &#34;Gamble&#34;, cs1, ut1);</TD></TR><TR CLASS="c"><TD CLASS="l">736</TD><TD>        user2 = new User(&#34;cschroeder&#34;, &#34;cody&#34;, &#34;Cody&#34;, &#34;Schroeder&#34;, cs2, ut2);</TD></TR><TR CLASS="c"><TD CLASS="l">737</TD><TD>        user3 = new User(&#34;alau&#34;, &#34;andrew&#34;, &#34;Andrew&#34;, &#34;Lau&#34;, cs2, ut3);</TD></TR><TR CLASS="c"><TD CLASS="l">738</TD><TD>        user4 = new User(&#34;tho&#34;, &#34;trinh&#34;, &#34;Trinh&#34;, &#34;Ho&#34;, cs2, ut4);</TD></TR><TR CLASS="c"><TD CLASS="l">739</TD><TD>        user5 = new User(&#34;kanderson&#34;, &#34;kevin&#34;, &#34;Kevin&#34;, &#34;Anderson&#34;, cs1, ut5);</TD></TR><TR CLASS="c"><TD CLASS="l">740</TD><TD>        user6 = new User(&#34;jjeng&#34;, &#34;jesse&#34;, &#34;Jesse&#34;, &#34;Jeng&#34;, cs1, ut5);</TD></TR><TR CLASS="c"><TD CLASS="l">741</TD><TD>        user7 = new User(&#34;jjeng&#34;, &#34;jesse&#34;, &#34;Jesse&#34;, &#34;Jeng&#34;, cs1, ut5);</TD></TR><TR CLASS="c"><TD CLASS="l">742</TD><TD>    }</TD></TR><TR><TD CLASS="l">743</TD><TD> </TD></TR><TR><TD CLASS="l"><A NAME="14">744</A></TD><TD>    /**</TD></TR><TR><TD CLASS="l">745</TD><TD>     * Makes record representation of the Couriers that can be in the database.</TD></TR><TR><TD CLASS="l">746</TD><TD>     */</TD></TR><TR><TD CLASS="l">747</TD><TD>    private void makeCouriers() {</TD></TR><TR CLASS="c"><TD CLASS="l">748</TD><TD>        ClientSite[] x = { cs1, cs2 };</TD></TR><TR CLASS="c"><TD CLASS="l">749</TD><TD>        ClientSite[] y = { cs2, cs1 };</TD></TR><TR CLASS="c"><TD CLASS="l">750</TD><TD>        c1 = new Courier(user5, Arrays.asList(x), 0.0, 0.0, cs1);</TD></TR><TR CLASS="c"><TD CLASS="l">751</TD><TD>        c2 = new Courier(user6, Arrays.asList(y), 0.0, 0.0, cs2);</TD></TR><TR CLASS="c"><TD CLASS="l">752</TD><TD>    }</TD></TR><TR><TD CLASS="l">753</TD><TD>}</TD></TR></TABLE><P></P><TABLE CLASS="hdft" CELLSPACING="0" WIDTH="100%"><TR><TD CLASS="nv">[<A HREF="../FeatureReleaseEmmaReport.html">all classes</A>][<A HREF="6.html">jvm.jtacck.test.db</A>]</TD></TR><TR><TD CLASS="tl"><A HREF="http://www.eclemma.org/support.html">EMMA 2.0.5312 EclEmma Fix 2</A> (C) Vladimir Roubtsov</TD></TR></TABLE></BODY></HTML>